
import { Observable } from 'rxjs'

import { ITaskQueryParams, ITaskPagination, ETaskCategory, Task, IEnrolReq, IEnrolRes } from '@shared/interfaces/task'
import { IAuditProcessReq } from '@shared/interfaces/audit'

export abstract class DashboardService {
  abstract getList(params: ITaskQueryParams, type: ETaskCategory): Observable<ITaskPagination>

  abstract getOne(jobID: string): Observable<Task>

  abstract resolve(data: IAuditProcessReq): Observable<boolean>

  abstract reject(data: IAuditProcessReq): Observable<boolean>

  abstract submit(token: string): Observable<boolean>

  abstract enrollment(data: IEnrolReq): Observable<IEnrolRes>
}
